package com.doubao.user.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * VIP信息DTO
 */
@Data
public class VipInfoDTO {

    /**
     * 用户ID
     */
    private Long userId;

    /**
     * 是否是VIP
     */
    private Boolean isVip;

    /**
     * 会员等级ID
     */
    private Integer levelId;

    /**
     * 会员等级名称
     */
    private String levelName;

    /**
     * 会员等级代码
     */
    private String levelCode;

    /**
     * 订阅类型(WEEKLY/MONTHLY/QUARTERLY/YEARLY/TEMP)
     */
    private String subscriptionType;

    /**
     * 订阅类型文本（周卡/月卡/季卡/年卡/临时卡）
     */
    private String subscriptionTypeText;

    /**
     * 开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime startTime;

    /**
     * 到期时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime expireTime;

    /**
     * 剩余天数
     */
    private Long remainingDays;

    /**
     * 每日token限额
     */
    private Integer dailyTokenLimit;

    /**
     * 每日聊天限额
     */
    private Integer chatLimit;

    /**
     * 每日切换智能体限额
     */
    private Integer switchAgentLimit;

    /**
     * 剩余聊天次数
     */
    private Integer remainingChatCount;

    /**
     * 剩余切换次数
     */
    private Integer remainingSwitchCount;

    /**
     * 会员状态(1:有效 0:过期)
     */
    private Integer status;

    /**
     * 会员来源
     */
    private String source;
}